home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / fprint.lqr / FPRINT.DOC < prev   
Text File  |  1985-06-03  |  10KB  |  257 lines

  1. FPRINT Copyright 1985 by CCG., Inc.
  2.  
  3.  
  4. Please make a copy of this program & give it to your friends.  If you find 
  5. this program useful,  a contribution would be greatly appreciated  ($15.00 
  6. suggested.)   To obtain the latest version of FPRINT, and all of our other
  7. utilities, send a self-addressed, stamped disk mailer and a blank disk to:
  8.  
  9.          CCG, Inc.
  10.          9 Dudley Ct.
  11.          Bethesda, MD  20814
  12.          (301) 493-6725
  13.  
  14.  
  15. PURPOSE:
  16.  
  17.     FPRINT.COM is an enhanced print spooler for PC-DOS and MS-DOS. It will 
  18. print a queue of files on your printer (parallel or serial) while you 
  19. perform other tasks on the computer.  FPRINT requires DOS 2.0 or above. The 
  20. first time FPRINT is executed, it will increase the resident size of DOS by 
  21. about 3800 bytes plus the specified print buffer size (1K - 48K).
  22.  
  23.     FPRINT offers many improvements over the standard PRINT.COM supplied 
  24. with DOS, including:
  25.  
  26.     .    Full DOS 2+ pathname support (including DOS 3.0)
  27.     .    Interrupt driven (supports PRN, LPT1, LPT2, LPT3, AUX, COM1, & 
  28.            COM2)
  29.     .    Supports both hardware handshaking (CTS) and XON/XOFF protocol
  30.        on the serial ports
  31.     .    Variable RAM buffer size (1K - 48K bytes)
  32.     .    Compatible with the PC-DOS & MS-DOS print spoolers
  33.            (except MUCH faster!)
  34.     .    Tab expansion option (/E)
  35.     .    Pagination (page numbering) with the /F: option
  36.     .    1-255 copies per file using the /M: option
  37.     .    Suspend/restart printing with the /S option
  38.     .    Doesn't use up your file handles  (PRINT.COM uses 1 file handle 
  39.            for each entry in the print queue.)
  40.     .    Up to 12 files in the queue at once
  41.     .    Full programming access via the 2F interrupt
  42.  
  43.  
  44. FORMAT:
  45.  
  46.     FPRINT [[d:][path][filename[.ext]][/C][/E][/F[:nn]][/M[:nn][/P][/S][/T]...]
  47.  
  48.     The following features are supported:
  49.  
  50.     .    Multiple filenames can be entered on the command line, each with 
  51.            parameters.
  52.     .    The global characters ? and * are permitted in the filename 
  53.            and/or extension.
  54.     .    If no path is specified, the current default directory is assumed.
  55.  
  56.     If FPRINT is executed with no parameters, it will display the current 
  57.     status of the print queue.
  58.  
  59.     The first time FPRINT is executed, the following prompts will be 
  60.     displayed:
  61.  
  62.          Printer device [LPT1]:
  63.          Print buffer size [1-48K]:
  64.  
  65.     The first prompt allows you to specify the printer port (PRN,LPT1, 
  66.     LPT2, LPT3, AUX, COM1, or COM1).  The default is the first parallel 
  67.     port (LPT1), and it will be selected if you press RETURN.
  68.  
  69.     The second prompt allows you to select the amount of RAM that FPRINT 
  70.     will use to buffer the printing file.  Using larger buffers will 
  71.     increase the speed of the spooler, and decrease the interference with 
  72.     your subsequent tasks.  The default buffer size is 2K.
  73.  
  74.     It is possible to configure your system to automatically answer these 
  75.     questions so no user responses will be required.  To do this, in your 
  76.     "autoexec.bat" file place a line:
  77.  
  78.               FPRINT < FPRINT.INP
  79.  
  80.     Next, create the file FPRINT.INP with one entry for the printer port 
  81.     and one entry for the RAM buffer.  For example:
  82.  
  83.                   LPT1
  84.                   16
  85.  
  86.     This sets the printer port to the first parallel port and sets aside
  87.     16K bytes for the RAM buffer area.
  88.  
  89.  
  90. OPTIONS:
  91.  
  92.     /C sets the cancel mode.  The file preceding the /C command as well as 
  93.     all subsequent files named on the command line will be removed from 
  94.     the queue, until the end of the command line is reached or a /P is 
  95.     found.  If you cancel the currently printing file, the message: "File 
  96.     canceled by operator." will be printed, the printer bell will sound, 
  97.     and the paper will be advanced to the next page.
  98.  
  99.          Ex. #1   FPRINT test.doc/C
  100.  
  101.                    Cancels the printing of the file "test.doc".
  102.  
  103.          Ex. #2   FPRINT test.doc/C test2.doc
  104.  
  105.                    Cancels the printing of the files "test.doc" and 
  106.                    "test2.doc".
  107.  
  108.  
  109.     /E sets the tab expansion mode.  If your printer can't handle tabs, 
  110.     this will expand tabs to spaces.  Tab expansion will remain active 
  111.     until the computer is reset.  (This option doesn't require a file
  112.     name.)
  113.  
  114.          Ex. #1   FPRINT test.doc/E
  115.  
  116.     /F sets the format (pagination) mode.  This will print a header on 
  117.     each page with the page number  (for example, "Page 21").You can 
  118.     specify the page length by /F:nn, where nn is the page length in lines 
  119.     (e.g., /F:54).  After printing the specified number of lines, FPRINT
  120.     will print a form feed and start a new page.  If no page length is
  121.     specified, FPRINT assumes a default of 60 lines per page.
  122.  
  123.          Ex. #1   FPRINT test.doc/F
  124.  
  125.                    The file "test.doc" will be printed with page number 
  126.                    headers.  Page length will be 60 lines per page.
  127.  
  128.          Ex. #2   FPRINT test.doc/F:48
  129.  
  130.                    The file "test.doc" will be printed with page number 
  131.                    headers.  Page length will be 48 lines per page.
  132.  
  133.  
  134.     /M allows you to print multiple copies of a file.  The maximum number 
  135.     of copies allowed is 255.
  136.  
  137.          Ex. #1   FPRINT test.doc/M:4
  138.  
  139.                    Four copies of the file "test.doc" will be printed, 
  140.                    while only taking up 1 queue slot.
  141.  
  142.  
  143.     /P sets the print mode.  The file preceding the /P command as well as 
  144.     all subsequent files named on the command line will be printed from 
  145.     the queue until the end of the command line is reached or a /P is 
  146.     found.  Note that this command is normally used in conjunction with the 
  147.     /C command and is otherwise unnecessary.
  148.  
  149.          Ex. #1   FPRINT test.doc/C test2.doc test3.doc/P
  150.  
  151.                    Cancels the printing of the files "test.doc" and 
  152.                    "test2.doc", and adds the file "test3.doc" to the
  153.                    queue.
  154.  
  155.  
  156.     /S toggles the printing off and on, allowing you to pause the printer
  157.     to take a telephone call, and then continue with no loss of characters.
  158.  
  159.  
  160.     /T cancels all files in the print queue.  If a file was printing, the 
  161.     message "All files canceled by operator." is printed, the printer 
  162.     bell will sound, and the paper will be advanced to the next page.  Any 
  163.     commands following a /T on the command line will be ignored.
  164.  
  165.          Ex. #1   FPRINT /T
  166.  
  167.                    Cancels the queue including any file currently printing.
  168.  
  169.  
  170.  
  171.     Note that the /E, /S, and /T commands do not require a filename.
  172.  
  173. REMARKS:
  174.  
  175.     If FPRINT finds a disk or system error while printing, it will cancel 
  176.     the current file, print the error message, sound the printer bell, and 
  177.     advance the paper to the next page.  Any remaining files in the queue 
  178.     will then be printed.
  179.  
  180.     Because FPRINT uses interrupts to control printing, it can come into 
  181.     conflict with some other programs.  BASIC, for example, will reset the 
  182.     serial port interrupts and vectors on entry and again on exit.  If the 
  183.     FPRINT queue is empty, nothing unusual will happen.  If, on the other 
  184.     hand, FPRINT is printing a file, there will be a slight pause as 
  185.     FPRINT detects the change, and resets the interrupts and vectors.
  186.  
  187.  
  188. BENCHMARKS:
  189.  
  190.     The benchmarks were executed on an IBM PC-XT running DOS 2.1.  The 
  191.     serial port (COM1) was connected to a terminal running at 4800 baud.  
  192.     The parallel port (LPT1) was connected to an Epson FX-80.  PRINT.COM 
  193.     is the standard PC-DOS spooler provided with DOS 2.1.  The text file 
  194.     was 26K in length.  First, each spooler was tested with no other 
  195.     system activity.  Then, each system loaded BASICA after starting the 
  196.     printing (but no program was run).  Finally, each started a lengthy
  197.     compile after starting printing.  The compile time is also given to
  198.     indicate the relative system throughput.
  199.  
  200.                  PRINT.COM        FPRINT.COM   % Gain
  201.  
  202.     COM1:           1:04             :55         16%
  203.       w/BASIC       5:31             :55        602%
  204.       w/compile     5:41             :55        620%
  205.  
  206.  
  207.     LPT1:           6:00            5:56          1%
  208.       w/BASIC       9:09            6:26         42%
  209.       w/compile    10:40            6:29         65%
  210.  
  211.     Compile time   11:45           10:56          7%
  212.  
  213.     Note there is only a marginal gain in printing speed when the
  214.     system is devoted solely to printing; however, when performing
  215.     other tasks, both the throughput and the print speed increase
  216.     significantly.  The faster your printer, the more dramatic the
  217.     speed increase.
  218.  
  219.  
  220. PROGRAMMING:
  221.  
  222.     FPRINT can be called from your programs via interrupt 2F hex.
  223.     (FPRINT must have been loaded prior to an INT 2F).  On entry:
  224.  
  225.          AH = 0  to add a file to the queue
  226.               1  to delete a file from the queue
  227.               FF hex to return # of files in the queue
  228.  
  229.          AL = number of copies to print
  230.  
  231.          DS:DX = pointer to filename (with optional disk & path)
  232.               The filename can include wildcards (? and *).
  233.  
  234.               if DX = -1, delete all the files in the queue.
  235.  
  236.     On return:
  237.  
  238.          AH = number of files in the queue
  239.  
  240.          AL = 0  ok
  241.               1  queue full (if AH=0 on entry)
  242.  
  243.          ES:BX = pointer to base of print queue
  244.  
  245.          ES:DX = pointer to current file
  246.  
  247.          The print queue structure is:
  248.  
  249.               2 byte ptr to next entry in queue
  250.               1 byte current block number
  251.               1 byte number of copies to print
  252.               78 bytes disk, path & filename
  253.                  (if first byte = -1, that entry is inactive)
  254.  
  255.     CX, DI, SI, and DS are preserved, all other registers are destroyed.
  256.  
  257.